$(function () {
    // getNavListByPage();
    getNavSortListByPage();
});

function getNavList() {
    $.ajax({
        url: "/back/nav",
        type: "get",
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $("tbody").html("");
            $.each(data.navs, function (i, nav) {
                $("tbody").append("<tr><td><input type='checkbox'></td>" +
                    "<td>" + nav.id + "</td>" +
                    "<td id='title" + nav.id + "'>" + nav.title + "</td>" +
                    "<td id='href" + nav.id + "'>" + nav.href + "</td>" +
                    "<td id='href" + nav.id + "'></td>" +
                    "<td><button onclick='edit($(this)," + nav.id + ")'>编辑</button>" +
                    "<button onclick='deleteNav(" + nav.id + ")'>删除</button></td></tr>");
            })
        }
    })
}

var total = 0;

//为当前显示条数文本框绑定回车事件
$('#size').bind('keypress', function (event) {
    if (event.keyCode == "13") {
        //敲击回车后重新按照新的显示条数加载页面
        getNavSortListByPage();
    }
});

//为当前页数文本框绑定回车事件
$('#pageipt').bind('keypress', function (event) {
    if (event.keyCode == "13") {
        getNavSortListByPage();
    }
});

//为上一页绑定点击事件
$('#lastpage').click(function () {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    page--;
    if (page >= 1) {//如果不是第一页，则往前翻一页
        $("#pageipt").val(page);
        getNavSortListByPage();
    }
});

//绑定下一页点击事件
$('#nextpage').click(function () {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    let size = $("#size").val();
    page++;
    if (page <= Math.ceil(total / size)) {
        $("#pageipt").val(page);
        getNavSortListByPage();
    }
});

//为首页绑定点击事件
$("#first").click(function () {
    let page = $("#pageipt").val();
    if (page > 1) {//如果当前页不是首页则跳转到首页，否则不做任何事情
        page = 1;
        $("#pageipt").val(page);
        getNavSortListByPage();
    }
});

//为尾页绑定点击事件
$("#last").click(function () {
    let page = $("#pageipt").val();
    let size = $("#size").val();
    if (page < Math.ceil(total / size)) {//如果当前页不是尾页，则跳转到尾页
        page = Math.ceil(total / size);
        $("#pageipt").val(page);
        getNavSortListByPage();
    }
});

function getNavListByPage() {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    let size = $("#size").val();

    //判断显示条数输入框中的值如果为空或者是非正数，则将size默认赋值为10，页面显示条数默认显示10条
    if (size.trim() == '' || size.trim() <= 0) {
        size = 5;
    }

    //判断页数输入框中的值如果为空或者是非正数，则将page默认赋值为1，页面默认显示第一页
    if (page.trim() == '' || page.trim() <= 0) {
        page = 1;
    }
    console.log(page + "," + size);
    $.ajax({
        url: "/back/nav",
        type: "post",
        data: {
            "page": page,
            "size": size
        },
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $("tbody").html("");
            $.each(data.navs, function (i, nav) {
                $("tbody").append("<tr><td><input type='checkbox'></td>" +
                    "<td>" + nav.id + "</td>" +
                    "<td id='title" + nav.id + "'>" + nav.title + "</td>" +
                    "<td id='href" + nav.id + "'>" + nav.href + "</td>" +
                    "<td><button id='edit" + nav.id + "' onclick='edit(" + nav.id + ")'><i class='iconfont'>&#xe608;</i></button><button id='confirm" + nav.id + "' hidden='hidden' onclick='confirm(" + nav.id + ")'><i class='iconfont'>&#xe714;</i></button>" +
                    "<button id='del" + nav.id + "' onclick='deleteNav(" + nav.id + ")'><i class='iconfont'>&#xe618;</i></button></td></tr>");
            });
            total = data.total;
            //显示总条数
            $("#pagecount").text(total);
            console.log(total);
        }
    })
}

function getNavSortListByPage() {
    //获取默认的当前页数和显示条数值
    let page = $("#pageipt").val();
    let size = $("#size").val();
    let sort = $("#sort").find("option:selected").val();

    //判断显示条数输入框中的值如果为空或者是非正数，则将size默认赋值为10，页面显示条数默认显示10条
    if (size.trim() == '' || size.trim() <= 0) {
        size = 5;
    }

    //判断页数输入框中的值如果为空或者是非正数，则将page默认赋值为1，页面默认显示第一页
    if (page.trim() == '' || page.trim() <= 0) {
        page = 1;
    }
    console.log(page + "," + size);
    $.ajax({
        url: "/back/sort/nav",
        type: "get",
        data: {
            "page": page,
            "size": size,
            "sort": sort
        },
        dataType: 'json',
        success: function (data) {
            console.log(data);
            $("tbody").html("");
            $.each(data.navs, function (i, nav) {
                $("tbody").append("<tr><td><input type='checkbox'></td>" +
                    "<td>" + nav.id + "</td>" +
                    "<td id='title" + nav.id + "'>" + nav.title + "</td>" +
                    "<td id='href" + nav.id + "'>" + nav.href + "</td>" + setEnable(nav.id,nav.enabled) +
                    "<td><button id='edit" + nav.id + "' onclick='edit(" + nav.id + ")'><i class='iconfont'>&#xe608;</i></button><button id='confirm" + nav.id + "' hidden='hidden' onclick='confirm(" + nav.id + ")'><i class='iconfont'>&#xe714;</i></button>" +
                    "<button id='del" + nav.id + "' onclick='deleteNav(" + nav.id + ")'><i class='iconfont'>&#xe618;</i></button></td></tr>");
            });
            total = data.total;
            //显示总条数
            $("#pagecount").text(total);
            console.log(total);
        }
    })
}

function setEnable(id,enable) {
    console.log(enable);
    if (enable == 1)
        return "<td><i class='iconfont' onclick='updateEnable(" + id + ",0)'>&#xe60a;</i></td>";
    else
        return "<td><i class='iconfont' onclick='updateEnable(" + id + ",1)'>&#xe610;</i></td>";
}

function addNav() {
    let title = $("#addtitle").val();
    let href = $("#addhref").val();
    if (title != "" && href != "") {
        $.ajax({
            url: '/back/nav/add',
            type: 'post',
            data: {
                "title": title,
                "href": href
            },
            dataType: 'json',
            success: function (data) {
                console.log(data);
                if (data == 1)
                    alert("添加成功！");
                else if (data == 0)
                    alert("添加失败");
                $(".right").load("../html/back/nav/nav.html");
            }
        });
    } else
        alert("添加信息不完全，请补全信息！");
}

function edit(id) {
    $("#title" + id).attr("contenteditable", true);
    $("#title" + id).attr("style", "color:red;");
    $("#href" + id).attr("contenteditable", true);
    $("#href" + id).attr("style", "color:red;");
    $("#edit" + id).attr("hidden", true);
    $("#confirm" + id).removeAttr("hidden");
    $("#title" + id).focus();
}

function confirm(id) {
    let title = $("#title" + id).text();
    let href = $("#href" + id).text();
    editNav(title, href, id);
}

function editNav(title, href, id) {
    if (title != "" && href != "") {
        $.ajax({
            url: '/back/nav/manage',
            type: 'post',
            data: {
                "id": id,
                "title": title,
                "href": href
            },
            dataType: 'text',
            success: function (data) {
                console.log(data);
                if (data > 0)
                    alert("修改成功！");
                else if (data == 0)
                    alert("修改失败！");
                getNavSortListByPage();
            }
        });
        return true;
    } else {
        alert("不能修改为空值！");
        getNavSortListByPage();
        return false;
    }

}

function updateEnable(id, enable) {
    $.ajax({
        url: "/back/nav/enable",
        type: 'post',
        data: {
            "id": id,
            "enable": enable
        },
        dataType: 'text',
        success: function (data) {
            if (data == 1)
                getNavSortListByPage();
            else
                alert("异常！")
        }
    })
}

function deleteNav(id) {
    let flag = confirm("确定删除？");
    if (flag) {
        $.ajax({
            url: '/back/nav/manage',
            type: 'get',
            data: {"id": id},
            dataType: 'text',
            success: function (data) {
                if (data > 0)
                    alert("删除成功！");
                else
                    alert("删除异常！");
                getNavSortListByPage();
            }
        })
    }
}

//搜索导航栏
$('#find').click(function () {
    let title = $.trim($("#title").val());
    let page = $("#pageipt").val();
    let size = $("#size").val();
    let sort = $("#sort").find("option:selected").val();
    //判断显示条数输入框中的值如果为空或者是非正数，则将size默认赋值为10，页面显示条数默认显示10条
    if (size.trim() == '' || size.trim() <= 0) {
        size = 5;
    }

    //判断页数输入框中的值如果为空或者是非正数，则将page默认赋值为1，页面默认显示第一页
    if (page.trim() == '' || page.trim() <= 0) {
        page = 1;
    }
    console.log(page + "," + size);
    $.ajax({
        url: '/back/nav/info',
        type: 'post',
        data: {
            'title': title,
            'page': page,
            'size': size,
            'sort':sort
        },
        dataType: 'json',
        success: function (data) {
            $("tbody").html("");
            console.log(data);
            $.each(data.navs, function (i, nav) {
                $("tbody").append("<tr><td><input type='checkbox'></td>" +
                    "<td>" + nav.id + "</td>" +
                    "<td id='title" + nav.id + "'>" + nav.title + "</td>" +
                    "<td id='href" + nav.id + "'>" + nav.href + "</td>" +setEnable(nav.id,nav.enabled)+
                    "<td><button class='iconfont' onclick='edit($(this)," + nav.id + ")'>&#xe608;</button>" +
                    "<button class='iconfont' onclick='deleteNav(" + nav.id + ")'>&#xe618;</button></td></tr>");
            })
            total = data.total;
            //显示总条数
            $("#pagecount").text(total);
            console.log(total);
        }
    })
});